package com.mind.customer.mapper;

import com.mind.system.domain.AjTicketType;

import java.util.List;
import java.util.Set;

/**
 * 单据类型(AjTicketType)表数据库访问层
 *
 * @author makejava
 * @since 2024-07-28 22:01:00
 */
public interface AjTicketTypeMapper {

    /**
     * 查询单据类型数据集合
     * 
     * @param ticketType 单据类型信息
     * @return 单据类型数据集合
     */
    public List<AjTicketType> selectTicketTypeList(AjTicketType ticketType);

    /**
     * 通过单据类型ID查询单据类型信息
     * 
     * @param ticketTypeId 单据类型ID
     * @return 角色对象信息
     */
    public AjTicketType selectTicketTypeById(Long ticketTypeId);

    /**
     * 删除单据类型信息
     * 
     * @param ticketTypeId 单据类型ID
     * @return 结果
     */
    public int deleteTicketTypeById(Long ticketTypeId);

    /**
     * 批量删除单据类型信息
     * 
     * @param ticketTypeIds 需要删除的单据类型ID
     * @return 结果
     */
    public int deleteTicketTypeByIds(Long[] ticketTypeIds);

    /**
     * 修改单据类型信息
     * 
     * @param ticketType 单据类型信息
     * @return 结果
     */
    public int updateTicketType(AjTicketType ticketType);

    /**
     * 新增单据类型信息
     * 
     * @param ticketType 单据类型信息
     * @return 结果
     */
    public int insertTicketType(AjTicketType ticketType);
    
    /**
     * 批量新增单据类型信息
     * 
     * @param ticketTypeList 单据类型信息
     * @return 结果
     */
    public int insertTicketTypeBatch(List<AjTicketType> ticketTypeList);
    
    
    /**
     * 根据名称查单据类型
     *
     * @param name 单据类型名称
     * @return 结果
     */
    AjTicketType selectTicketTypeByName(String name);


    AjTicketType selectByOriginalId(String originalId);

    Set<String> selectAllOriginalId();

    int deleteByOriginalId(String originalId);

    int updateTicketTypeByOriginalId(AjTicketType ticketType);
}

